<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>缴费结账</title>
    <link rel="stylesheet" href="https://www.layuicdn.com/layui/css/layui.css">
    <script src="https://www.layuicdn.com/layui/layui.js"></script>
    <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
</head>
<body>
<div class="demoTable">
    搜索姓名：
    <div class="layui-inline">
        <input class="layui-input" name="id" id="demoReload" autocomplete="off">
    </div>
    <button class="layui-btn" data-type="reload" id="searchBtn">搜索</button>
</div>
<table class="layui-hide" id="demo" lay-filter="test"></table>
<script type="text/html" id="barDemo">
        <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
        <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>

</body>
</html>
<script>
    //分页
    layui.use([ 'laypage', 'layer', 'table'], function() {
        var laypage = layui.laypage //分页
            , layer = layui.layer //弹层
            , table = layui.table;//表格
        //执行一个 table 实例
        table.render({
            elem: '#demo'
            , url: 'sell' //数据接口
            , title: '缴费结账'
            , page: true //开启分页
            , toolbar: 'default' //开启工具栏，此处显示默认图标，可以自定义模板
            , totalRow: true //开启合计行
            , limits: [1, 3, 5]
            , cols: [
                [ //表头
                    {type: 'checkbox', fixed: 'left'}
                    ,{field: 'roomID', title: '编号'}
                    ,{field: 'roomNo', title: '房间编号'}
                    ,{field: 'clientname', title: '客户姓名'}
                    ,{field: 'assessment', title: '应交金额'}
                    ,{field: 'balance', title: '账户余额'}
                    ,{field: 'collectDate', title: '收费日期'}
                    ,{field: 'tollgatherer', title: '收费员'}
                    ,{field: 'paymentType', title: '付款方式'}
                    ,{field: 'fremark', title: '备注'}

                ]
            ]
            , id: 'sell'
        });
        laypage.render({
            elem: 'pageDemo' //分页容器的id
            ,count: 100 //总页数
            ,skin: '#1E9FFF' //自定义选中色值
            //,skip: true //开启跳页
            ,jump: function(obj, first){
                if(!first){
                    layer.msg('第'+ obj.curr +'页', {offset: 'b'});
                }
            }
        });
        //执行条件查询
        /*条件查询按钮*/
        var $ = layui.$;
        $('#searchBtn').on('click', function(){
            //获取输入框
            var demoReload = $('#demoReload');
            //执行重载
            table.reload('sell', {
                page: {
                    curr: 1 //重新从第 1 页开始
                }
                ,where: {
                    clientname: demoReload.val()
                }
            });
        });
        //监听行工具事件
        table.on('tool(test)', function(obj) { //注：tool 是工具条事件名，test 是 table 原始容器的属性 lay-filter="对应的值"
            var data = obj.data //获得当前行数据
                , layEvent = obj.event; //获得 lay-event 对应的值
            //修改
            if (layEvent === 'edit') {
                layer.open({
                    type: 2, //layer的5种层类型   0（信息框，默认）1（页面层）2（iframe层）3（加载层）4（tips层）
                    title: ['修改数据', 'font-size:18px;'],  //弹出框标题
                    shade: [0.5, '#393D49'],     //遮罩层
                    shadeClose: true,          //点击遮罩层外区域关闭遮罩层
                    area: ['580px', '500px'],    //弹出框大小
                    anim: 1,              //弹出动画
                    content: 'selOne?roomid=' + data.roomID
                });
            }
        });
        //监听头工具栏事件
        table.on('toolbar(test)', function(obj){
            var checkStatus = table.checkStatus(obj.config.id)
                ,data = checkStatus.data; //获取选中的数据
            switch(obj.event){
                case 'add':
                    //添加
                    layer.open({
                        type:2,      //layer的5种层类型   0（信息框，默认）、1（页面层）、2（iframe层）、3（加载层）、4（tips层）
                        title: ['新增', 'font-size:18px;'],  //弹出框标题
                        area: ['800px','350px'],    //设置弹框的大小
                        shadeClose:true,          //点击遮罩层外区域关闭遮罩层
                        anim: 2,              //弹出动画
                        content:'add'     //写方法的路径  进入页面  此处也和easyui相同
                    })
                    break;
                case 'update':
                    if(data.length === 0){
                        layer.msg('请选择一行');
                    } else if(data.length > 1){
                        layer.msg('只能同时编辑一个');
                    } else {
                        // layer.alert('编辑 [id]：'+ checkStatus.data[0].id);
                        //修改
                        layer.open({
                            type: 2, //layer的5种层类型   0（信息框，默认）1（页面层）2（iframe层）3（加载层）4（tips层）
                            title: ['修改数据', 'font-size:18px;'],  //弹出框标题
                            shade: [0.5, '#393D49'],     //遮罩层
                            shadeClose:true,          //点击遮罩层外区域关闭遮罩层
                            area: ['580px', '500px'],    //弹出框大小
                            anim: 1,              //弹出动画
                            content:'selOne?rooomid='+checkStatus.data[0].roomID
                        });
                    }
                    break;
                case 'delete':
                    if(data.length === 0){
                        layer.msg('请选择一行');
                    } else {
                        //删除
                        layer.confirm('真的要删除吗？', function () {
                            $.post("delete",{'id':checkStatus.data[0].id},function(result)
                                {
                                    layer.msg(
                                        result.msg, {
                                            icon: 1,
                                            time: 1000 //2秒关闭（如果不配置，默认是3秒）
                                        }, function(){
                                            //刷新父页面
                                            parent.window.location.reload();
                                        });
                                }
                            );
                        });
                    }
                    break;
            };
        });
    });


</script>
